Skip to content

IEX-2498 add endpoint coverage for new capital, mandates, and recurringng URL flows#466

Open
thomasc-adyen wants to merge 1 commit intomainfrom
feature/IEX-2498-add-tests-for-new-python-apis
Open

IEX-2498 add endpoint coverage for new capital, mandates, and recurringng URL flows#466
thomasc-adyen wants to merge 1 commit intomainfrom
feature/IEX-2498-add-tests-for-new-python-apis

Conversation

@thomasc-adyen
Copy link
Contributor

Add serialization/deserialization tests and mock payloads for Capital Dynamic Offers and Balance Platform Direct Debit Mandates APIs, including tax form summary URL assertions. Also update recurring live URL resolution to use the paltokenization live domain format with required live endpoint prefix, and validate both test/live recurring endpoint behavior in DetermineEndpoint tests.

@thomasc-adyen thomasc-adyen requested review from a team as code owners March 23, 2026 18:11
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly expands the API coverage by introducing new tests and mock data for Capital Dynamic Offers and Balance Platform Direct Debit Mandates. It also refines the logic for resolving recurring API live URLs, ensuring that the correct domain format and necessary prefixes are applied, thereby improving the robustness and reliability of endpoint interactions within the library.

Highlights

  • New API Endpoint Coverage: Added comprehensive serialization/deserialization tests and mock payloads for the Capital Dynamic Offers and Balance Platform Direct Debit Mandates APIs.
  • Tax Form Summary URL Assertions: Included specific assertions for tax form summary URLs to ensure correct endpoint resolution and data handling.
  • Recurring Live URL Resolution: Updated the recurring live URL resolution logic to correctly utilize the paltokenization live domain format, enforcing the requirement of a live endpoint prefix.
  • Endpoint Determination Validation: Enhanced DetermineEndpoint tests to validate the behavior of both test and live recurring endpoints, ensuring proper URL construction and error handling.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces support for new paltokenization endpoints in Adyen/client.py, including logic for handling live endpoint prefixes. It also adds comprehensive test cases for various Balance Platform API functionalities (mandates, tax forms) and Capital API functionalities (dynamic offers, preliminary offers, static offers). The review suggests refactoring the live_endpoint_prefix check in Adyen/client.py to avoid duplication and using f-strings for improved URL construction readability.

Adyen/client.py Outdated
Comment on lines +162 to +167
if self.live_endpoint_prefix is None:
error_string = (
"Please set your live suffix. You can set it by running "
"adyen.client.live_endpoint_prefix = 'Your live suffix'"
)
raise AdyenEndpointInvalidFormat(error_string)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This check for live_endpoint_prefix is duplicated across the if/elif blocks for pal-, paltokenization-, and checkout- endpoints. To improve maintainability, consider performing this check once for all relevant endpoint types before the if/elif chain. This will make the code cleaner and easier to manage as more endpoint types are added.

@thomasc-adyen thomasc-adyen force-pushed the feature/IEX-2498-add-tests-for-new-python-apis branch 2 times, most recently from 1675b0f to f522cee Compare March 23, 2026 18:18
…ng URL flows

Add serialization/deserialization tests and mock payloads for Capital Dynamic Offers and Balance Platform Direct Debit Mandates APIs, including tax form summary URL assertions. Also update recurring live URL resolution to use the paltokenization live domain format with required live endpoint prefix, and validate both test/live recurring endpoint behavior in DetermineEndpoint tests.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
@thomasc-adyen thomasc-adyen force-pushed the feature/IEX-2498-add-tests-for-new-python-apis branch from f522cee to da8a059 Compare March 24, 2026 07:22
@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant